/**********************************************************************************************/
// dgt_ValentinaPlugin.h
//
// Valentina store plugin
// Copyright Diamant Group 2007
/**********************************************************************************************/
#ifndef _VALENTINA_H_
#define _VALENTINA_H_

//#include "stdafx.h"
#include "dgtKernel.h"
#include "dgt_StorePlugin.h"
#include "dgt_Algorithm.h"
#include "dgt_SmartMacros.h"
#include "ValentinaInterface.h"

/**********************************************************************************************/
// Tables names
#define		MAIN_TABLE		_("Main")
#define		INVAR_TABLE		_("InVariables")
#define		OUTVAR_TABLE	_("OutVariables")
#define		INTRVAR_TABLE	_("IntrVariables")
#define		ACT_TABLE		_("Actions")
#define		COND_TABLE		_("Condition")
#define		JUMP_TABLE		_("Logical")

/**********************************************************************************************/
class dgt_Valentina: public dgt_StorePlugin
{
	public://///////////////////////////////////////////////////////////////////////////////////

							dgt_Valentina( void );

							~dgt_Valentina( void );

	public://///////////////////////////////////////////////////////////////////////////////////

		void				GetPluginInfo( dgt_PluginInfo& t_Info );

		dgt_Algorithm_Ptr	LoadAlgorithm( wxString inName );

		void				SaveAlgorithm( dgt_Algorithm_Ptr inAlgorithm, wxString inName );

	private://///////////////////////////////////////////////////////////////////////////////////

		wxString			ConvertArgs( wxArrayString inArray );
		wxString			ConvertArgs( wxArrayInt inArray );
		wxArrayString		ReconvertArgs( wxString inValue );
		wxArrayInt			ReconvertIntArgs(wxString inValue);

};

		dgt_Valentina*		pInstance;			


/**********************************************************************************************/
extern "C" 
{
	DGTEXPORT	dgt_Plugin*		GetPlugin( void );
}

#endif // _VALENTINA_H_